Azure Queue Storage
Known Issues
Messages Going to Poison Queue
If you're programmatically inserting messages into an Azure Queue and they're going into a "poison" queue instead of the correct queue, then you might need to explicitly encode the message to Base 64 before sending it.
This is a common issue faced by users who are used to behavior in v11 of the nuget package after moving to v12 of the package.
The resolution was found on Stack Overflow: Messages in Azure Message Queue are going Straight to the Poison Message Queue
Here's a code snippet from GQC's resolution:
public QueueUtility(string connectionString, string queueName, ILogger? logger = null)
{
// Use Base64 encoding to match the old CloudQueue behavior
var queueOptions = new QueueClientOptions { MessageEncoding = QueueMessageEncoding.Base64 };
_queueClient = new QueueClient(connectionString, queueName, queueOptions);
_logger = logger;
_logger?.LogInformation("QueueUtility initialized with queue name: {QueueName}, Connection string length: {Length}, Encoding: Base64",
queueName, connectionString?.Length ?? 0);
}
You can find GQC's full implementation in swmm5_core/GqcStorage1/QueueUtility.cs